(function () {
    /*说明在之前已经定义了*/
    if (this.document) return;
     window = self = this;
    var fun = function () {
        return window.canvas;
    },
        url = window.referer?window.referer:"https://reg.taobao.com/member/reg/fill_mobile.htm"; //这边可以改成自己的网址
   window.top=window;
     window.Promise=window.Promise||fun;
    /*定义部分window常量*/
    window.screen = {
        availHeight: 693,
        availLeft: 0,
        availTop: 0,
        availWidth: 1291,
        colorDepth: 24,
        height: 727,
        orientation: {
            angle: 0,
            type: "landscape-primary",
            onchange: null,
            angle: fun,
            lock: fun,
            onchange: fun,
            type: fun,
            unlock: fun
        },
        pixelDepth: 24,
        width: 1291
    };
    window.navigator = {
        appCodeName: "Mozilla",
        appName: "Netscape",
        appVersion: "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",
        bluetooth: {},
        clipboard: {},
        connection: {
            onchange: null,
            effectiveType: "4g",
            rtt: 100,
            downlink: 10,
            saveData: false,
            addEventListener: fun,
            dispatchEvent: fun,
            removeEventListener: fun
        },
        cookieEnabled: true,
        credentials: {},
        deviceMemory: 8,
        doNotTrack: null,
        geolocation: {},
        hardwareConcurrency: 12,
        keyboard: {},
        language: "en-US",
        languages: ["en-US", "en", "zh", "zh-CN"],
        locks: {},
        maxTouchPoints: 0,
        mediaCapabilities: {},
        mediaDevices: {
            ondevicechange: null
        },
        mediaSession: {
            metadata: null,
            playbackState: "none"
        },
        mimeTypes: {},
        onLine: true,
        permissions: {},
        platform: "Win32",
        plugins: [{}, {}, {}],
        presentation: {
            receiver: null,
            defaultRequest: null
        },
        product: "Gecko",
        productSub: "20030107",
        serviceWorker: {
            ready: {},
            controller: null,
            oncontrollerchange: null,
            onmessage: null
        },
        storage: {},
        usb: {
            onconnect: null,
            ondisconnect: null
        },
        userActivation: {
            hasBeenActive: true,
            isActive: true
        },
        userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",
        vendor: "Google Inc.",
        vendorSub: "",
        webkitPersistentStorage: {},
        webkitTemporaryStorage: {},
        ancestorOrigins: [],
        bluetooth: fun,
        clipboard: fun,
        connection: fun,
        cookieEnabled: fun,
        credentials: fun,
        deviceMemory: fun,
        doNotTrack: fun,
        geolocation: fun,
        getBattery: fun,
        getGamepads: fun,
        getUserMedia: fun,
        hardwareConcurrency: fun,
        javaEnabled: fun,
        keyboard: fun,
        locks: fun,
        maxTouchPoints: fun,
        mediaCapabilities: fun,
        mediaDevices: fun,
        mediaSession: fun,
        mimeTypes: fun,
        onLine: fun,
        permissions: fun,
        presentation: fun,
        registerProtocolHandler: fun,
        requestMIDIAccess: fun,
        requestMediaKeySystemAccess: fun,
        sendBeacon: fun,
        serviceWorker: fun,
        storage: fun,
        unregisterProtocolHandler: fun,
        usb: fun,
        userActivation: fun,
        vibrate: fun,
        webkitGetUserMedia: fun,
        webkitPersistentStorage: fun,
        webkitTemporaryStorage: fun
    };
    window.style = {};
    window.screenLeft = 0;
    window.screenTop = 0;
    window.outerWidth = 1549;
    window.outerHeight = 831;
    window.innerWidth = 1550;
    window.innerHeight = 729;
    /*定义部分document常量*/
    (function () {
        var i;
        for (i = 0; i < 2; i++)
            window.document = {
                '0': window.document,
                createElement: function (e) {
                    return window.canvas
                },
                addEventListener: function () {
                    log("[addEventListener]被调用" + JSON.stringify(arguments))
                },
                removeEventListener: function () {
                    log("[removeEventListener]被调用" + JSON.stringify(arguments))
                },
                append: function () {
                    log("[append]被调用" + JSON.stringify(arguments))
                },
                appendChild: function () {
                    log("[appendChild]被调用" + JSON.stringify(arguments))
                },
                removeChild: function () {
                    log("[removeChild]被调用" + JSON.stringify(arguments))
                },
                replaceChild: function () { },
                getElementById: function () { },
                getElementsByClassName: function () { },
                getElementsByName: function () { },
                getElementsByTagName: function () {
                    return window.document
                },
                getElementsByTagNameNS: function () { },
                dispatchEvent: function () { },
                getRootNode: function () {
                    return window.document
                },
                body: window.document,
                URL: url,
                activeElement: window.document,
                adoptedStyleSheets: [],
                alinkColor: "",
                all: [
                    window.location, window.location, window.location, window.location, window.location
                ],
                anchors: [],
                applets: [],
                baseURI: url,
                bgColor: "",
                characterSet: "GBK",
                charset: "GBK",
                childElementCount: 1,
                childNodes: [
                    window.location,
                    window.location
                ],
                children: [
                    window.document
                ],
                compatMode: "CSS1Compat",
                contentType: "text/html",
                cookie: "",
                currentScript: window.location,
                defaultView: {},
                designMode: "off",
                dir: "",
                doctype: window.document,
                documentElement: window.document,
                documentURI: url,
                domain: "",
                embeds: [],
                featurePolicy: {},
                fgColor: "",
                firstChild: window.document,
                firstElementChild: window.document,
                fonts: {
                    onloading: null,
                    onloadingdone: null,
                    onloadingerror: null,
                    ready: Promise,
                    status: "loaded"
                },
                forms: [],
                fullscreen: false,
                fullscreenElement: null,
                fullscreenEnabled: true,
                head: window.document,
                hidden: true,
                images: [],
                implementation: {},
                inputEncoding: "GBK",
                isConnected: true,
                lastChild: window.document,
                lastElementChild: window.document,
                lastModified: "01/31/2020 00:40:45",
                linkColor: "",
                links: [],
                location: window.location,
                nextSibling: null,
                nodeName: "#document",
                nodeType: 9,
                nodeValue: null,
                onabort: null,
                onauxclick: null,
                onbeforecopy: null,
                onbeforecut: null,
                onbeforepaste: null,
                onblur: null,
                oncancel: null,
                oncanplay: null,
                oncanplaythrough: null,
                onchange: null,
                onclick: null,
                onclose: null,
                oncontextmenu: null,
                oncopy: null,
                oncuechange: null,
                oncut: null,
                ondblclick: null,
                ondrag: null,
                ondragend: null,
                ondragenter: null,
                ondragleave: null,
                ondragover: null,
                ondragstart: null,
                ondrop: null,
                ondurationchange: null,
                onemptied: null,
                onended: null,
                onerror: null,
                onfocus: null,
                onformdata: null,
                onfreeze: null,
                onfullscreenchange: null,
                onfullscreenerror: null,
                ongotpointercapture: null,
                oninput: null,
                oninvalid: null,
                onkeydown: null,
                onkeypress: null,
                onkeyup: null,
                onload: null,
                onloadeddata: null,
                onloadedmetadata: null,
                onloadstart: null,
                onlostpointercapture: null,
                onmousedown: null,
                onmouseenter: null,
                onmouseleave: null,
                onmousemove: null,
                onmouseout: null,
                onmouseover: null,
                onmouseup: null,
                onmousewheel: null,
                onpaste: null,
                onpause: null,
                onplay: null,
                onplaying: null,
                onpointercancel: null,
                onpointerdown: null,
                onpointerenter: null,
                onpointerleave: null,
                onpointerlockchange: null,
                onpointerlockerror: null,
                onpointermove: null,
                onpointerout: null,
                onpointerover: null,
                onpointerrawupdate: null,
                onpointerup: null,
                onprogress: null,
                onratechange: null,
                onreadystatechange: null,
                onreset: null,
                onresize: null,
                onresume: null,
                onscroll: null,
                onsearch: null,
                onsecuritypolicyviolation: null,
                onseeked: null,
                onseeking: null,
                onselect: null,
                onselectionchange: null,
                onselectstart: null,
                onstalled: null,
                onsubmit: null,
                onsuspend: null,
                ontimeupdate: null,
                ontoggle: null,
                onvisibilitychange: null,
                onvolumechange: null,
                onwaiting: null,
                onwebkitfullscreenchange: null,
                onwebkitfullscreenerror: null,
                onwheel: null,
                ownerDocument: null,
                parentElement: null,
                parentNode: null,
                pictureInPictureElement: null,
                pictureInPictureEnabled: true,
                plugins: [],
                pointerLockElement: null,
                previousSibling: null,
                readyState: "loading",
                referrer: "",
                style: {},
                rootElement: null,
                scripts: [
                    window.document
                ],
                scrollingElement: window.document,
                styleSheets: {},
                textContent: null,
                title: "",
                visibilityState: "visible",
                vlinkColor: "",
                wasDiscarded: false,
                webkitCurrentFullScreenElement: null,
                webkitFullscreenElement: null,
                webkitFullscreenEnabled: true,
                webkitHidden: false,
                webkitIsFullScreen: false,
                webkitVisibilityState: "visible",
                xmlEncoding: null,
                xmlStandalone: false,
                xmlVersion: null,
                documentElement: {
                    clientHeight: 952,
                    clientWidth: 1937,
                    getAttribute: function () {
                        return null
                    }
                },
                referrer: url
            };
    })();

    window.addEventListener = document.addEventListener;
    window.removeEventListener = document.removeEventListener;
    window.location = (function () {
        function Location() {
            this.ancestorOrigins = {
                length: 0,
                contains: fun,
                item: fun
            }
            this.assign = fun
            this.hash = ""
            this.host = "reg.taobao.com"
            this.hostname = "reg.taobao.com"
            this.href = window.referer?window.referer:"https://reg.taobao.com/member/reg/fill_mobile.htm"
            this.origin = "https://reg.taobao.com"
            this.pathname = "/member/reg/fill_mobile.htm"
            this.port = ""
            this.protocol = "https:"
            this.reload = fun
            this.replace = fun
            this.search = ""
        }
        Location.prototype.toString = function () {
            return window.location.href
        }
        return new Location
    })();

    /*使对象无法被修改*/
    Object.defineProperty && Object.defineProperty(this, "document", {
        value: this.document,
        writable: false
    });
    Object.defineProperty && Object.defineProperty(window, "navigator", {
        value: window.navigator,
        writable: false
    });
    /*定义canvas元素对象*/
    try {
        window.canvas = {
            accessKey: "",
            assignedSlot: null,
            attributeStyleMap: {
                size: 0,
                append: fun,
                clear: fun,
                'delete': fun,
                'set': fun
            },
            attributes: {
                length: 0
            },
            autocapitalize: "",
            baseURI: location.href,
            childElementCount: 0,
            childNodes: [],
            children: [],
            classList: [],
            className: "",
            clientHeight: 0,
            clientLeft: 0,
            clientTop: 0,
            clientWidth: 0,
            contentEditable: "inherit",
            dataset: {},
            dir: "",
            draggable: false,
            elementTiming: "",
            enterKeyHint: "",
            firstChild: null,
            firstElementChild: null,
            height: 150,
            hidden: false,
            id: "",
            innerHTML: "",
            innerText: "",
            inputMode: "",
            isConnected: false,
            isContentEditable: false,
            lang: "",
            lastChild: null,
            lastElementChild: null,
            localName: "canvas",
            namespaceURI: "http://www.w3.org/1999/xhtml",
            nextElementSibling: null,
            nextSibling: null,
            nodeName: "CANVAS",
            nodeType: 1,
            nodeValue: null,
            nonce: "",
            offsetHeight: 0,
            offsetLeft: 0,
            offsetParent: null,
            offsetTop: 0,
            offsetWidth: 0,
            onabort: null,
            onauxclick: null,
            onbeforecopy: null,
            onbeforecut: null,
            onbeforepaste: null,
            onblur: null,
            oncancel: null,
            oncanplay: null,
            oncanplaythrough: null,
            onchange: null,
            onclick: null,
            onclose: null,
            oncontextmenu: null,
            oncopy: null,
            oncuechange: null,
            oncut: null,
            ondblclick: null,
            ondrag: null,
            ondragend: null,
            ondragenter: null,
            ondragleave: null,
            ondragover: null,
            ondragstart: null,
            ondrop: null,
            ondurationchange: null,
            onemptied: null,
            onended: null,
            onerror: null,
            onfocus: null,
            onformdata: null,
            onfullscreenchange: null,
            onfullscreenerror: null,
            ongotpointercapture: null,
            oninput: null,
            oninvalid: null,
            onkeydown: null,
            onkeypress: null,
            onkeyup: null,
            onload: null,
            onloadeddata: null,
            onloadedmetadata: null,
            onloadstart: null,
            onlostpointercapture: null,
            onmousedown: null,
            onmouseenter: null,
            onmouseleave: null,
            onmousemove: null,
            onmouseout: null,
            onmouseover: null,
            onmouseup: null,
            onmousewheel: null,
            onpaste: null,
            onpause: null,
            onplay: null,
            onplaying: null,
            onpointercancel: null,
            onpointerdown: null,
            onpointerenter: null,
            onpointerleave: null,
            onpointermove: null,
            onpointerout: null,
            onpointerover: null,
            onpointerrawupdate: null,
            onpointerup: null,
            onprogress: null,
            onratechange: null,
            onreset: null,
            onresize: null,
            onscroll: null,
            onsearch: null,
            onseeked: null,
            onseeking: null,
            onselect: null,
            onselectionchange: null,
            onselectstart: null,
            onstalled: null,
            onsubmit: null,
            onsuspend: null,
            ontimeupdate: null,
            ontoggle: null,
            onvolumechange: null,
            onwaiting: null,
            onwebkitfullscreenchange: null,
            onwebkitfullscreenerror: null,
            onwheel: null,
            outerHTML: "<canvas></canvas>",
            outerText: "",
            ownerDocument: document,
            parentElement: null,
            parentNode: null,
            part: [],
            prefix: null,
            previousElementSibling: null,
            previousSibling: null,
            scrollHeight: 0,
            scrollLeft: 0,
            scrollTop: 0,
            scrollWidth: 0,
            shadowRoot: null,
            slot: "",
            spellcheck: true,
            alignContent: "",
            alignItems: "",
            alignSelf: "",
            alignmentBaseline: "",
            all: "",

            tabIndex: -1,
            tagName: "CANVAS",
            textContent: "",
            title: "",
            translate: true,
            width: 300,
            style: {},
            toBlob: fun,
            toDataURL: function () {
                return ""
            },
            getContext: function () {
                fun();
                return Object.assign({
                    style: {},
                    canvas: canvas,
                    direction: "ltr",
                    fillStyle: "#000000",
                    filter: "none",
                    font: "10px sans-serif",
                    globalAlpha: 1,
                    globalCompositeOperation: "source-over",
                    imageSmoothingEnabled: true,
                    imageSmoothingQuality: "low",
                    lineCap: "butt",
                    lineDashOffset: 0,
                    lineJoin: "miter",
                    lineWidth: 1,
                    miterLimit: 10,
                    shadowBlur: 0,
                    shadowColor: "rgba(0, 0, 0, 0)",
                    shadowOffsetX: 0,
                    shadowOffsetY: 0,
                    strokeStyle: "#000000",
                    textAlign: "start",
                    textBaseline: "alphabetic",
                    arc: fun,
                    arcTo: fun,
                    beginPath: fun,
                    bezierCurveTo: fun,
                    clearRect: fun,
                    clip: fun,
                    closePath: fun,
                    createImageData: fun,
                    createLinearGradient: fun,
                    createPattern: fun,
                    createRadialGradient: fun,
                    drawFocusIfNeeded: fun,
                    drawImage: fun,
                    ellipse: fun,
                    fill: fun,
                    fillRect: fun,
                    fillText: fun,
                    getContextAttributes: fun,
                    getImageData: fun,
                    getLineDash: fun,
                    getTransform: fun,
                    isPointInPath: fun,
                    isPointInStroke: fun,
                    lineTo: fun,
                    measureText: fun,
                    moveTo: fun,
                    putImageData: fun,
                    quadraticCurveTo: fun,
                    rect: fun,
                    resetTransform: fun,
                    restore: fun,
                    rotate: fun,
                    save: fun,
                    scale: fun,
                    setLineDash: fun,
                    setTransform: fun,
                    stroke: fun,
                    strokeRect: fun,
                    strokeText: fun,
                    transform: fun,
                    translate: fun,
                    transferControlToOffscreen: function () {
                        return {
                            height: 150,
                            width: 300,
                            convertToBlob: fun,
                            getContext: canvas.getContext,
                            transferToImageBitmap: fun
                        }
                    }
                }, WebGLRenderingContext)
            }
        };
    } catch (e) {
        log("[canvas]创建类canvas出现了点问题 " + e);
    }
    /*定义localStorage sessionStorage函数*/
    ;
    (function () {
        var cache = {};

        function e() {
            this.length = 0
        }
        e.prototype = {
            clear: function () {
                cache = {};
            },
            getItem: function (e) {
                return cache[e]
            },
            key: function (e) {
                var o = 0;
                for (var i in cache) {
                    if (o++ == e) return i
                }
                return undefined
            },
            removeItem: function (e) {
                delete cache[e]
            },
            setItem: function (e, t) {
                cache[e] = t
            }
        }
        Object.prototype.__defineGetter__ && e.prototype.__defineGetter__("length", function () {
            var o = 0;
            for (var i in cache) o++;
            return o
        });
        this.localStorage = this.localStorage || new e;
        this.sessionStorage = this.sessionStorage || new e
    })();

    function log() {
        this.console && this.console.log && console.log.apply(this, arguments);
    }
})();



function uuid(e, t) {
    var i = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),
    a = [],
    n = void 0;
    if (t = t || i.length,
        e)
        for (n = 0; n < e; n++)
            a[n] = i[0 | Math.random() * t];
    else {
        var r = void 0;
        for (a[8] = a[13] = a[18] = a[23] = "-",
            a[14] = "4",
            n = 0; n < 36; n++)
            a[n] || (r = 0 | 16 * Math.random(),
                a[n] = i[19 === n ? 3 & r | 8 : r])
    }
    return a.join("")
}

(function (e, t) {
    function i(e, t) {
        function i(e, t) {
            return e.charCodeAt(Math.floor(t % e.length))
        }
        function n(e, t) {
            return t.split("").map(function (t, n) {
                return t.charCodeAt(0) ^ i(e, n)
            })
        }
        return t = n(e, t),
        _(t)
    };
    Y = i;
    __toByte = function (e) {
        function t(t) {
            return e.apply(this, arguments)
        }
        return t.toString = function () {
            return e.toString()
        },
        t
    }
    (function (e) {
        if (e < -128)
            return __toByte(128 - (-128 - e));
        if (e >= -128 && e <= 127)
            return e;
        if (e > 127)
            return __toByte(-129 + e - 127);
        throw new Error("1001")
    });
    var n = function (e, t) {
        return __toByte(e + t)
    },
    r = function (e, t) {
        if (null == e)
            return null;
        if (null == t)
            return e;
        for (var i = [], r = t.length, o = 0, a = e.length; o < a; o++)
            i[o] = n(e[o], t[o % r]);
        return i
    },
    o = function (e, t) {
        return e = __toByte(e),
        t = __toByte(t),
        __toByte(e ^ t)
    },
    a = function (e, t) {
        if (null == e || null == t || e.length != t.length)
            return e;
        for (var i = [], n = e.length, r = 0, a = n; r < a; r++)
            i[r] = o(e[r], t[r]);
        return i
    },
    s = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"],
    l = function (e) {
        var t = [];
        return t.push(s[e >>> 4 & 15]),
        t.push(s[15 & e]),
        t.join("")
    },
    u = function (e) {
        var t = e.length;
        if (null == e || t < 0)
            return new String("");
        for (var i = [], n = 0; n < t; n++)
            i.push(l(e[n]));
        return i.join("")
    },
    f = function (e) {
        if (null == e || 0 == e.length)
            return [];
        for (var t = new String(e), i = [], n = t.length / 2, r = 0, o = 0; o < n; o++) {
            var a = parseInt(t.charAt(r++), 16) << 4,
            s = parseInt(t.charAt(r++), 16);
            i[o] = __toByte(a + s)
        }
        return i
    },
    c = function (e) {
        if (null == e || void 0 == e)
            return e;
        for (var t = encodeURIComponent(e), i = [], n = t.length, r = 0; r < n; r++)
            if ("%" == t.charAt(r)) {
                if (!(r + 2 < n))
                    throw new Error("1009");
                i.push(f(t.charAt(++r) + "" + t.charAt(++r))[0])
            } else
                i.push(t.charCodeAt(r));
        return i
    },
    j = function (e) {
        var t = [];
        return t[0] = e >>> 24 & 255,
        t[1] = e >>> 16 & 255,
        t[2] = e >>> 8 & 255,
        t[3] = 255 & e,
        t
    },
    d = function (e) {
        var t = j(e);
        return u(t)
    },
    h = function (e, t, i) {
        var n = [];
        if (null == e || 0 == e.length)
            return n;
        if (e.length < i)
            throw new Error("1003");
        for (var r = 0; r < i; r++)
            n[r] = e[t + r];
        return n
    },
    p = function (e, t, i, n, r) {
        if (null == e || 0 == e.length)
            return i;
        if (null == i)
            throw new Error("1004");
        if (e.length < r)
            throw new Error("1003");
        for (var o = 0; o < r; o++)
            i[n + o] = e[t + o];
        return i
    },
    y = function (e) {
        for (var t = [], i = 0; i < e; i++)
            t[i] = 0;
        return t
    },
    v = function (e) {
        return null == e || void 0 == e || "" == e
    },
    g = function () {
        return ["i", "/", "x", "1", "X", "g", "U", "0", "z", "7", "k", "8", "N", "+", "l", "C", "p", "O", "n", "P", "r", "v", "6", "\\", "q", "u", "2", "G", "j", "9", "H", "R", "c", "w", "T", "Y", "Z", "4", "b", "f", "S", "J", "B", "h", "a", "W", "s", "t", "A", "e", "o", "M", "I", "E", "Q", "5", "m", "D", "d", "V", "F", "L", "K", "y"]
    },
    b = function () {
        return "3"
    },
    m = function (e, t, i) {
        var n,
        r,
        o,
        a = g(),
        s = b(),
        l = [];
        if (1 == i)
            n = e[t],
            r = 0,
            o = 0,
            l.push(a[n >>> 2 & 63]),
            l.push(a[(n << 4 & 48) + (r >>> 4 & 15)]),
            l.push(s),
            l.push(s);
        else if (2 == i)
            n = e[t],
            r = e[t + 1],
            o = 0,
            l.push(a[n >>> 2 & 63]),
            l.push(a[(n << 4 & 48) + (r >>> 4 & 15)]),
            l.push(a[(r << 2 & 60) + (o >>> 6 & 3)]),
            l.push(s);
        else {
            if (3 != i)
                throw new Error("1010");
            n = e[t],
            r = e[t + 1],
            o = e[t + 2],
            l.push(a[n >>> 2 & 63]),
            l.push(a[(n << 4 & 48) + (r >>> 4 & 15)]),
            l.push(a[(r << 2 & 60) + (o >>> 6 & 3)]),
            l.push(a[63 & o])
        }
        return l.join("")
    },
    _ = function (e) {
        if (null == e || void 0 == e)
            return null;
        if (0 == e.length)
            return "";
        var t = 3;
        try {
            for (var i = [], n = 0; n < e.length; ) {
                if (!(n + t <= e.length)) {
                    i.push(m(e, n, e.length - n));
                    break
                }
                i.push(m(e, n, t)),
                n += t
            }
            return i.join("")
        } catch (r) {
            throw new Error("1010")
        }
    },
    w = function (e) {
        return _(c(e))
    },
    T = [0, 1996959894, 3993919788, 2567524794, 124634137, 1886057615, 3915621685, 2657392035, 249268274, 2044508324, 3772115230, 2547177864, 162941995, 2125561021, 3887607047, 2428444049, 498536548, 1789927666, 4089016648, 2227061214, 450548861, 1843258603, 4107580753, 2211677639, 325883990, 1684777152, 4251122042, 2321926636, 335633487, 1661365465, 4195302755, 2366115317, 997073096, 1281953886, 3579855332, 2724688242, 1006888145, 1258607687, 3524101629, 2768942443, 901097722, 1119000684, 3686517206, 2898065728, 853044451, 1172266101, 3705015759, 2882616665, 651767980, 1373503546, 3369554304, 3218104598, 565507253, 1454621731, 3485111705, 3099436303, 671266974, 1594198024, 3322730930, 2970347812, 795835527, 1483230225, 3244367275, 3060149565, 1994146192, 31158534, 2563907772, 4023717930, 1907459465, 112637215, 2680153253, 3904427059, 2013776290, 251722036, 2517215374, 3775830040, 2137656763, 141376813, 2439277719, 3865271297, 1802195444, 476864866, 2238001368, 4066508878, 1812370925, 453092731, 2181625025, 4111451223, 1706088902, 314042704, 2344532202, 4240017532, 1658658271, 366619977, 2362670323, 4224994405, 1303535960, 984961486, 2747007092, 3569037538, 1256170817, 1037604311, 2765210733, 3554079995, 1131014506, 879679996, 2909243462, 3663771856, 1141124467, 855842277, 2852801631, 3708648649, 1342533948, 654459306, 3188396048, 3373015174, 1466479909, 544179635, 3110523913, 3462522015, 1591671054, 702138776, 2966460450, 3352799412, 1504918807, 783551873, 3082640443, 3233442989, 3988292384, 2596254646, 62317068, 1957810842, 3939845945, 2647816111, 81470997, 1943803523, 3814918930, 2489596804, 225274430, 2053790376, 3826175755, 2466906013, 167816743, 2097651377, 4027552580, 2265490386, 503444072, 1762050814, 4150417245, 2154129355, 426522225, 1852507879, 4275313526, 2312317920, 282753626, 1742555852, 4189708143, 2394877945, 397917763, 1622183637, 3604390888, 2714866558, 953729732, 1340076626, 3518719985, 2797360999, 1068828381, 1219638859, 3624741850, 2936675148, 906185462, 1090812512, 3747672003, 2825379669, 829329135, 1181335161, 3412177804, 3160834842, 628085408, 1382605366, 3423369109, 3138078467, 570562233, 1426400815, 3317316542, 2998733608, 733239954, 1555261956, 3268935591, 3050360625, 752459403, 1541320221, 2607071920, 3965973030, 1969922972, 40735498, 2617837225, 3943577151, 1913087877, 83908371, 2512341634, 3803740692, 2075208622, 213261112, 2463272603, 3855990285, 2094854071, 198958881, 2262029012, 4057260610, 1759359992, 534414190, 2176718541, 4139329115, 1873836001, 414664567, 2282248934, 4279200368, 1711684554, 285281116, 2405801727, 4167216745, 1634467795, 376229701, 2685067896, 3608007406, 1308918612, 956543938, 2808555105, 3495958263, 1231636301, 1047427035, 2932959818, 3654703836, 1088359270, 936918e3, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117],
    S = function (e) {
        var t = 4294967295;
        if (null != e)
            for (var i = 0; i < e.length; i++) {
                var n = e[i];
                t = t >>> 8 ^ T[255 & (t ^ n)]
            }
        return d(4294967295 ^ t, 8)
    },
    k = function (e) {
        return S(null == e ? [] : c(e))
    },
    E = [120, 85, -95, -84, 122, 38, -16, -53, -11, 16, 55, 3, 125, -29, 32, -128, -94, 77, 15, 106, -88, -100, -34, 88, 78, 105, -104, -90, -70, 90, -119, -28, -19, -47, -111, 117, -105, -62, -35, 2, -14, -32, 114, 23, -21, 25, -7, -92, 96, -103, 126, 112, -113, -65, -109, -44, 47, 48, 86, 75, 62, -26, 72, -56, -27, 66, -42, 63, 14, 92, 59, -101, 19, -33, 12, -18, -126, -50, -67, 42, 7, -60, -81, -93, -86, 40, -69, -37, 98, -63, -59, 108, 46, -45, 93, 102, 65, -79, 73, -23, -46, 37, -114, -15, 44, -54, 99, -10, 60, -96, 76, 26, 61, -107, 18, -116, -55, -40, 57, -76, -82, 45, 0, -112, -77, 29, 43, -30, 109, -91, -83, 107, 101, 81, -52, -71, 84, 36, -41, 68, 39, -75, -122, -6, 11, -80, -17, -74, -73, 35, 49, -49, -127, 80, 103, 79, -25, 52, -43, 56, 41, -61, -24, 17, -118, 115, -38, 8, -78, 33, -85, -106, 58, -98, -108, 94, 116, -125, -51, -9, 71, 82, 87, -115, 9, 69, -123, 123, -117, 113, -22, -124, -87, 64, 13, 21, -89, -2, -99, -97, 1, -4, 34, 20, 83, 119, 30, -12, -110, -66, 118, -48, 6, -36, 104, -58, -102, 97, 5, -20, 31, -72, 70, -39, 67, -68, -57, 110, 89, 51, 10, -120, 28, 111, 127, 22, -3, 54, 53, -1, 100, 74, 50, 91, 27, -31, -5, -64, 124, -121, 24, -13, 95, 121, -8, 4],
    C = 4,
    R = 4,
    O = 4,
    $ = 4,
    I = function (e) {
        var t = [];
        if (null == e || void 0 == e || 0 == e.length)
            return y(R);
        if (e.length >= R)
            return h(e, 0, R);
        for (var i = 0; i < R; i++)
            t[i] = e[i % e.length];
        return t
    },
    X = function (e) {
        if (null == e || void 0 == e || 0 == e.length)
            return y(C);
        var t = e.length,
        i = 0;
        i = t % C <= C - O ? C - t % C - O : 2 * C - t % C - O;
        var n = [];
        p(e, 0, n, 0, t);
        for (var r = 0; r < i; r++)
            n[t + r] = 0;
        var o = j(t);
        return p(o, 0, n, t + i, O),
        n
    },
    x = function (e) {
        if (null == e || e.length % C != 0)
            throw new Error("1005");
        for (var t = [], i = 0, n = e.length / C, r = 0; r < n; r++) {
            t[r] = [];
            for (var o = 0; o < C; o++)
                t[r][o] = e[i++]
        }
        return t
    },
    A = function (e) {
        var t = e >>> 4 & 15,
        i = 15 & e,
        n = 16 * t + i;
        return E[n]
    },
    P = function (e) {
        if (null == e)
            return null;
        for (var t = [], i = 0, n = e.length; i < n; i++)
            t[i] = A(e[i]);
        return t
    },
    N = function () {
        for (var e = [], t = 0; t < $; t++) {
            var i = 256 * Math.random();
            i = Math.floor(i),
            e[t] = __toByte(i)
        }
        return e
    },
    M = function (e, t) {
        if (null == e)
            return null;
        for (var i = __toByte(t), n = [], r = e.length, a = 0; a < r; a++)
            n.push(o(e[a], i));
        return n
    },
    D = function (e, t) {
        if (null == e)
            return null;
        for (var i = __toByte(t), r = [], o = e.length, a = 0; a < o; a++)
            r.push(n(e[a], i));
        return r
    },
    M = function (e, t) {
        if (null == e)
            return null;
        for (var i = __toByte(t), n = [], r = e.length, a = 0; a < r; a++)
            n.push(o(e[a], i));
        return n
    },
    V = function (e) {
        var t = M(e, 56),
        i = D(t, -40),
        n = M(i, 103);
        return n
    },
    L = function (e, t) {
        null == e && (e = []);
        var i = N();
        t = I(t),
        t = a(t, I(i)),
        t = I(t);
        var n = t,
        o = X(e),
        s = x(o),
        l = [];
        p(i, 0, l, 0, $);
        for (var u = s.length, f = 0; f < u; f++) {
            var c = V(s[f]),
            j = a(c, t),
            d = r(j, n);
            j = a(d, n);
            var h = P(j);
            h = P(h),
            p(h, 0, l, f * C + $, C),
            n = h
        }
        return l
    },
    B = function (e) {
        var t = "14731382d816714fC59E47De5dA0C871D3F";
        if (null == t || void 0 == t)
            throw new Error("1008");
        null != e && void 0 != e || (e = "");
        var i = e + k(e),
        n = c(i),
        r = c(t),
        o = L(n, r);
        return _(o)
    };
    eypt = B;
})()

function getcb() {
    var e = uuid(32);
    return eypt(e)
}

function getdata(slide, token, dist) {
    var traceData = []
    for (i = 0; i < slide.length; i++) {
        traceData.push(Y(token, slide[i] + ""))
    }
	var r = eypt(Y(token, dist / 320 * 100 + ""));
    data = JSON.stringify({
            d: eypt(traceData.join(":")),
            m: "",
            p: r,
            ext: eypt(Y(token, 1 + "," + traceData.length))
        })
		return data
}
